From: Jo-Philipp Wich Date: Wed, 17 Mar 2021 09:45:04 +0000 (+0100) Subject: luci-mod-network: allow wifi bridging with bridge or bridge vlan ifaces X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22http:/www.crowdsec.net/%22/%22https:/collectd.org/%22http:/www.crowdsec.net/%22?a=commitdiff_plain;h=482f342d2515a46c2040b06e7b27e0a7dd8c2a9e;p=project%2Fluci.git luci-mod-network: allow wifi bridging with bridge or bridge vlan ifaces Recent netifd automatically adds wireless devices as bridge ports if the layer 2 device referenced by the "config interface" target network is a Linux network bridge or a VLAN interface on top of a network bridge. Signed-off-by: Jo-Philipp Wich (cherry picked from commit 3b4c161e01e2bd19105c123fbec463bc069d637b) --- diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index c8a8e5c213..748cb6254f 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -987,8 +987,17 @@ return view.extend({ return net || network.addNetwork(name, { proto: 'none' }); }, this, values[i])).then(L.bind(function(dev, net) { if (net) { - if (!net.isEmpty()) - net.set('type', 'bridge'); + if (!net.isEmpty()) { + var target_dev = net.getDevice(); + + /* Resolve parent interface of vlan */ + while (target_dev && target_dev.getType() == 'vlan') + target_dev = target_dev.getParent(); + + if (!target_dev || target_dev.getType() != 'bridge') + net.set('type', 'bridge'); + } + net.addDevice(dev); } }, this, dev)));